#ifndef Intergration_HPP_
#define Intergration_HPP_

#include "stdafx.h"
#include "gauss.hpp"
#include "superelement.hpp"
#include "functions.hpp"

void Intergration(const FElement elem, double *d, int nr_gauss);
double Intergration(double (*f)(double, FElement) , const FElement elem, int nr_gauss);
double Intergration(double (*f)(double, FElement,EVector<double>,vector<FElement>) , const FElement elem, int nr_gauss, EVector<double> R, vector<FElement> m_elems);
double Intergration(double (*f)(double) , int nr_gauss);
double Bii_1(double e, FElement ip_elem);
double Bii_2(double e, FElement ip_elem);
double Bii1(double e, FElement ip_elem);
double F_1(double e, FElement ip_elem);
double F_2(double e, FElement ip_elem);
double F_error(double e, FElement ip_elem, EVector<double> R, vector<FElement> m_elems);
double app_solution(EVector<double> ip_c, vector<FElement> ip_elems, double ip_x);
int findIndex(vector<FElement> ip_elems, double x, int d, int c);
#endif 